#include "include.h"

void setup_wifi(){
    /*  500ms*/
    
    eeprom_loadConfig();
    // Serial.println((char *)wifi_struct.ssid);
    // Serial.println((char *)wifi_struct.password);
    WiFi.mode(WIFI_STA);
    WiFi.begin(wifi_struct.ssid, wifi_struct.password);
    
    lastMsg_time = millis();
    while (WiFi.status() != WL_CONNECTED) {//正在连接wifi
        delay(500);
        long now = millis();
        if (now - lastMsg_time > 10000) {
            smartConfig();  //微信智能配网
            break;
        }
    }
    /*  1000ms*/
    // switch_Led_Fre_Blink(1000);
    // Serial.println("<<< setup-wifi-ok!");
}

void smartConfig(){
    /*  100ms*/
    switch_Led_Fre_Blink(Led_Blink_very_fast);
    WiFi.beginSmartConfig();        //开始配网
    // 收到配网信息后EP8266将自动连接，WiFi.status 状态就会返回：已连接
    while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        // Serial.print(".");//完成连接，退出配网等待。
    }
    // Serial.println("");

    /*  向EEPROM 写入数据*/
    strcpy(wifi_struct.ssid,WiFi.SSID().c_str());
    strcpy(wifi_struct.password,WiFi.psk().c_str());
    /*  保存数据*/
    eeprom_saveConfig();
}
